Index: trunk/Wierszowki/Wierszowki.Services/MagazineItemService.cs
===================================================================
--- trunk/Wierszowki/Wierszowki.Services/MagazineItemService.cs (revision 752)
+++ trunk/Wierszowki/Wierszowki.Services/MagazineItemService.cs (revision 823)
@@ -28,5 +28,5 @@
         public MagazineItem Find(int id)
         {
-            return _repository.Find(id).Single();
+            return _repository.Find(id).SingleOrDefault();            
         }
 
@@ -35,5 +35,10 @@
             var errors = DataAnnotationsValidationRunner.GetErrors(magazineItem);
             if (errors.Any())
+            {
                 throw new RulesException(errors);
+            }
+            var errors1 = new List<ErrorInfo>();
+            errors1 = ShowError(magazineItem);
+            if (errors1.Count() > 0) throw new RulesException(errors1.AsEnumerable()); 
 
             var user = _userRepository.FindOne(u => u.Login == currentUser);
@@ -43,6 +48,20 @@
             magazineItem.UpdatedBy = user.Id;
             magazineItem.UpdatedOn = now;
+            
+            _repository.Insert(magazineItem);
+            
+        }
 
-            _repository.Insert(magazineItem);
+        private List<ErrorInfo> ShowError(MagazineItem magazineItem)
+        {
+            var errors1 = new List<ErrorInfo>();
+            if (magazineItem.IssueId <= 0)          
+            {
+                ErrorInfo e1 = new ErrorInfo("Magazine", "Proszę wybrać gazetę!");
+                errors1.Add(e1);
+                ErrorInfo e = new ErrorInfo("IssueId", "Proszę wybrać numer wydania!");
+                errors1.Add(e);            
+            }
+            return errors1;
         }
 
@@ -53,8 +72,13 @@
                 throw new RulesException(errors);
 
+            var errors1 = new List<ErrorInfo>();
+            errors1 = ShowError(magazineItem);
+            if (errors1.Count() > 0) throw new RulesException(errors1.AsEnumerable());
+                         
+
             var user = _userRepository.FindOne(u => u.Login == currentUser);
             var now = DateTime.Now;
 
-            var magazineItemToUpdate = _repository.FindOne(magazineItem.Id);
+            var magazineItemToUpdate = _repository.FindOne(magazineItem.Id);           
             magazineItemToUpdate.AuthorId = magazineItem.AuthorId;
             magazineItemToUpdate.Bonus = magazineItem.Bonus;
@@ -70,4 +94,12 @@
             _repository.Update(magazineItemToUpdate);
         }
+        public void Delete(MagazineItem magazineItem)
+        {
+            var magazineItemToDelete = _repository.FindOne(magazineItem.Id);
+            if (magazineItemToDelete != null)
+            {
+                _repository.Delete(magazineItemToDelete);
+            }
+        }
     }
 }
Index: trunk/Wierszowki/Wierszowki.Services/UserService.cs
===================================================================
--- trunk/Wierszowki/Wierszowki.Services/UserService.cs (revision 752)
+++ trunk/Wierszowki/Wierszowki.Services/UserService.cs (revision 823)
@@ -54,5 +54,5 @@
             userToUpdate.Login = user.Login;
             userToUpdate.Password = user.Password;
-            
+                      
             _repository.Update(userToUpdate);
         }
@@ -65,5 +65,5 @@
         public User Find(int id)
         {
-            return _repository.Find(id).Single();
+            return _repository.Find(id).SingleOrDefault();
         }
 
Index: trunk/Wierszowki/Wierszowki.Services/AuthorService.cs
===================================================================
--- trunk/Wierszowki/Wierszowki.Services/AuthorService.cs (revision 752)
+++ trunk/Wierszowki/Wierszowki.Services/AuthorService.cs (revision 823)
@@ -8,4 +8,5 @@
 namespace Wierszowki.Services
 {
+    
     public class AuthorService : BaseService
     {
@@ -15,10 +16,10 @@
             if (errors.Any())
                 throw new RulesException(errors);
-            
+
             var authorToUpdate = DataContext.GetAuthorById(author.Id);
             authorToUpdate.FirstName = author.FirstName;
             authorToUpdate.LastName = author.LastName;
             authorToUpdate.EmploymentTypeId = author.EmploymentTypeId;
-            DataContext.SubmitChanges();
+            DataContext.SubmitChanges();                     
         }
 
Index: trunk/Wierszowki/Wierszowki.Web/Models/ReportViewData.cs
===================================================================
--- trunk/Wierszowki/Wierszowki.Web/Models/ReportViewData.cs (revision 752)
+++ trunk/Wierszowki/Wierszowki.Web/Models/ReportViewData.cs (revision 823)
@@ -15,4 +15,6 @@
         public List<Magazine> Magazines { get; set; }
         public Dictionary<int, Dictionary<string, decimal>> ReportData { get; set; }
+        public SelectList EmploymentTypeList { get; set; }
+        public SelectList UserList { get; set; }
     }
 }
Index: trunk/Wierszowki/Wierszowki.Web/Controllers/MagazineItemController.cs
===================================================================
--- trunk/Wierszowki/Wierszowki.Web/Controllers/MagazineItemController.cs (revision 785)
+++ trunk/Wierszowki/Wierszowki.Web/Controllers/MagazineItemController.cs (revision 823)
@@ -40,5 +40,5 @@
             try
             {
-                _service.Create(magazineItem, ControllerContext.HttpContext.User.Identity.Name);
+                _service.Create(magazineItem, ControllerContext.HttpContext.User.Identity.Name);                            
                 ModelState.Clear();
             }
@@ -47,13 +47,13 @@
                 ex.AddModelStateErrors(ModelState, "magazineItem");
             }
-
+           
             if (ModelState.IsValid)
             {
                 return RedirectToAction("Confirm", _context.Authors.Single(a => a.Id == magazineItem.AuthorId));
             }
-
             var viewData = InitMagazineItemViewData();
             viewData.MagazineItem = magazineItem;
-            return View(viewData);
+            
+            return View(viewData); 
         }
 
@@ -69,4 +69,11 @@
             var viewData = InitMagazineItemViewData();
             var magazineItem = _service.Find(id);
+
+            if (magazineItem == null)
+            {
+                ViewData["message"] = "null";
+                return View("Confirm");
+            }
+
             viewData.MagazineItem = magazineItem;
             viewData.Magazine = magazineItem.Issue.Magazine;
@@ -75,5 +82,4 @@
             return View(viewData);
         }
-
         [Authorize]
         [AcceptVerbs(HttpVerbs.Post)]
@@ -94,11 +100,9 @@
             {
                 var author = _context.Authors.Single(a => a.Id == magazineItem.AuthorId);
-
-                return RedirectToAction("Confirm", author);
+                return RedirectToAction("Confirm", author);               
             }
-
             var viewData = InitMagazineItemViewData();
             viewData.MagazineItem = magazineItem;
-            return View(viewData);
+            return View(viewData);            
         }
 
@@ -115,4 +119,22 @@
             return viewData;
         }
+        [Authorize]
+        public ActionResult Delete(int id)
+        {
+            return View("Delete");
+        }
+        [Authorize]
+        [AcceptVerbs(HttpVerbs.Post)]
+        public ActionResult Delete(MagazineItem magazineItem)
+        {
+            _service.Delete(magazineItem);   
+            if (magazineItem.AuthorId == 0){
+                ViewData["message"] = "null";
+                return View("Confirm");
+            }                                        
+            ViewData["message"] = "delete";
+            return View("Confirm");
+           
+        }
     }
 }
Index: trunk/Wierszowki/Wierszowki.Web/Controllers/ReportController.cs
===================================================================
--- trunk/Wierszowki/Wierszowki.Web/Controllers/ReportController.cs (revision 785)
+++ trunk/Wierszowki/Wierszowki.Web/Controllers/ReportController.cs (revision 823)
@@ -33,7 +33,10 @@
         public ActionResult Index()
         {
+
             var viewData = new ReportViewData
                                {
-                                   Authors = _context.GetAuthors().OrderBy(a => a.FullName).ToList()
+                                   Authors = _context.GetAuthors().OrderBy(a => a.FullName).ToList(),
+                                   EmploymentTypeList =  new SelectList(_context.GetEmploymentTypes().ToList(),"Id","Name"),
+                                   UserList = new SelectList(_context.GetUsers().OrderBy(u => u.FirstName).ToList(),"Id","FullName")
                                };
             return View(viewData);
Index: trunk/Wierszowki/Wierszowki.Web/Controllers/UserController.cs
===================================================================
--- trunk/Wierszowki/Wierszowki.Web/Controllers/UserController.cs (revision 752)
+++ trunk/Wierszowki/Wierszowki.Web/Controllers/UserController.cs (revision 823)
@@ -62,10 +62,26 @@
             return View(user);
         }
-
         [Authorize]
         [AcceptVerbs(HttpVerbs.Get)]
         public ActionResult Edit(int id)
         {
-            return View(_service.Find(id));
+            User user = _service.Find(id);
+            if (user != null)
+            {
+                string name = ControllerContext.HttpContext.User.Identity.Name;
+                var LogInUser = _service.FindOne(u => u.Login == name);
+                if (LogInUser.Id == user.Id)
+                {
+                    return View(_service.Find(id));
+                }
+                else
+                {
+                    ViewData["message"] = "error_user";
+                    return View("Confirm"); 
+                }
+
+            }
+            ViewData["message"] = "error";
+            return View("Confirm");          
         }
 
@@ -77,4 +93,5 @@
             {
                 _service.Update(user);
+               
             }
             catch (RulesException ex)
Index: trunk/Wierszowki/Wierszowki.Web/Wierszowki.Web.csproj
===================================================================
--- trunk/Wierszowki/Wierszowki.Web/Wierszowki.Web.csproj (revision 752)
+++ trunk/Wierszowki/Wierszowki.Web/Wierszowki.Web.csproj (revision 823)
@@ -116,4 +116,5 @@
     <Content Include="Views\Author\Index.aspx" />
     <Content Include="Views\MagazineItem\Confirm.aspx" />
+    <Content Include="Views\MagazineItem\Delete.aspx" />
     <Content Include="Views\MagazineItem\Edit.aspx" />
     <Content Include="Views\MagazineItem\Create.aspx" />
Index: trunk/Wierszowki/Wierszowki.Web/Views/MagazineItem/Confirm.aspx
===================================================================
--- trunk/Wierszowki/Wierszowki.Web/Views/MagazineItem/Confirm.aspx (revision 785)
+++ trunk/Wierszowki/Wierszowki.Web/Views/MagazineItem/Confirm.aspx (revision 823)
@@ -4,8 +4,23 @@
 	Potwierdzenie dodania wierszówki
 </asp:Content>
-
 <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
-
-    <h2>Pomylnie dodano/zaktualizowano wierszówkê dla: <%= Html.Encode(ViewData.Model.FirstName + " " + ViewData.Model.LastName)%></h2>
+<%
+    if (ViewData["message"] == "delete")
+    {
+%>
+        <h4>Pomylnie usuniêto wierszówkê!</h4>
+<%
+    }
+    else if(ViewData["message"] == "null"){
+%>
+        <h6>Nie mo¿na wykonaæ operacji. B³êdny numer id!!! </h6>
+<%  }
+    else
+    {
+%>
+        <h2>Pomylnie dodano/zaktualizowano wierszówkê dla: <%= Html.Encode(ViewData.Model.FirstName + " " + ViewData.Model.LastName)%></h2>
+<%     
+    }
+%>
     <div>
         <%=Html.ActionLink("Powrót", "Index", "Report") %>
Index: trunk/Wierszowki/Wierszowki.Web/Views/MagazineItem/Delete.aspx
===================================================================
--- trunk/Wierszowki/Wierszowki.Web/Views/MagazineItem/Delete.aspx (revision 823)
+++ trunk/Wierszowki/Wierszowki.Web/Views/MagazineItem/Delete.aspx (revision 823)
@@ -0,0 +1,22 @@
+<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Wierszowki.Models.MagazineItemViewData>" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
+	Delete
+</asp:Content>
+
+<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
+ 
+ <% using (Html.BeginForm("Delete","MagazineItem"))
+    { %>
+        <h2>Czy napewno chcesz usun¹æ wierszówkê??? </h2>
+        <div class="submit">                
+            <input type="submit" value="Usuñ" />                
+        </div>
+        <br />       
+ <% } %>   
+    <div>
+        <%=Html.ActionLink("Powrót", "Index", "Home") %>
+    </div>
+</asp:Content>
+
+
Index: trunk/Wierszowki/Wierszowki.Web/Views/Report/Index.aspx
===================================================================
--- trunk/Wierszowki/Wierszowki.Web/Views/Report/Index.aspx (revision 785)
+++ trunk/Wierszowki/Wierszowki.Web/Views/Report/Index.aspx (revision 823)
@@ -98,10 +98,8 @@
                     </td>
                     <td>
-                        <select id="user" name="user">
-                            <option value="3">zbyszek</option>
-                            <option value="4">slawek</option>
-                        </select>
+                        
+                        <%= Html.DropDownList("user", Model.UserList)%>
                     </td>
-                </tr>
+                </tr>                
                 <tr>
                     <td></td>
@@ -165,10 +163,5 @@
                     </td>
                     <td>
-                        <select id="employment" name="employment">
-                            <option value="1">AACT</option>
-                            <option value="2">Sam Press</option>
-                            <option value="3">Umowa o dzie³o</option>
-			                <option value="4">Faktura VAT</option>
-                        </select>
+                        <%= Html.DropDownList("employment", Model.EmploymentTypeList)%>
                     </td>
                 </tr>
Index: trunk/Wierszowki/Wierszowki.Web/Views/Report/All.aspx
===================================================================
--- trunk/Wierszowki/Wierszowki.Web/Views/Report/All.aspx (revision 785)
+++ trunk/Wierszowki/Wierszowki.Web/Views/Report/All.aspx (revision 823)
@@ -9,4 +9,5 @@
     <table>
         <tr>
+            <th></th>
             <th></th>
             <th>Miesi¹c</th>
@@ -27,4 +28,7 @@
             <td>
                 <%= Html.ActionLink("Edycja", "Edit", "MagazineItem", new { id=item.Id }, null) %>
+            </td>
+            <td>
+                <%= Html.ActionLink("Usuñ", "Delete", "MagazineItem", new { id=item.Id }, null) %>
             </td>
             <td>
Index: trunk/Wierszowki/Wierszowki.Web/Views/User/Confirm.aspx
===================================================================
--- trunk/Wierszowki/Wierszowki.Web/Views/User/Confirm.aspx (revision 752)
+++ trunk/Wierszowki/Wierszowki.Web/Views/User/Confirm.aspx (revision 823)
@@ -6,6 +6,23 @@
 
 <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
-
-    <h2>Pomylnie dodano/zaktualizowano u¿ytkownika: <%= Html.Encode(ViewData.Model.FirstName + " " + ViewData.Model.LastName) %></h2>
+<%if (ViewData["message"] == "error_user")
+  {
+%>
+    <h4>Nie mo¿na edytowaæ u¿ytkownika, gdy¿ login ró¿ni siê od zalogowanego!!!</h4> 
+<%      
+  }
+  else if (ViewData["message"] == "error")
+  {
+%>
+    <h6>Nie mo¿na edytowaæ u¿ytkownika, gdy¿ u¿ytkownik o takim id nie istnieje !!!</h6> 
+<%
+  }
+  else
+  {
+%>
+    <h2>Pomylnie dodano/zaktualizowano u¿ytkownika: <%= Html.Encode(ViewData.Model.FirstName + " " + ViewData.Model.LastName) %></h2> 
+<%      
+  }
+%>
     <div>
         <%=Html.ActionLink("Powrót do listy u¿ytkowników", "Index") %>
Index: trunk/Wierszowki/Wierszowki.Model/Linq/User.cs
===================================================================
--- trunk/Wierszowki/Wierszowki.Model/Linq/User.cs (revision 752)
+++ trunk/Wierszowki/Wierszowki.Model/Linq/User.cs (revision 823)
@@ -8,4 +8,5 @@
     public partial class User : UserValidation, IIdentifiable
     {
+        public string FullName { get { return FirstName + " " + LastName; } }
     }
 }
Index: trunk/Wierszowki/Wierszowki.Model/Linq/LinqRepository.cs
===================================================================
--- trunk/Wierszowki/Wierszowki.Model/Linq/LinqRepository.cs (revision 752)
+++ trunk/Wierszowki/Wierszowki.Model/Linq/LinqRepository.cs (revision 823)
@@ -125,9 +125,8 @@
         public void Delete(T entity)
         {
-            using (var dc = new WierszowkiDataContext())
+            if (entity != null)
             {
-                dc.GetTable<T>().Attach(entity);
-                dc.GetTable<T>().DeleteOnSubmit(entity);
-                dc.SubmitChanges();
+                _dataContext.GetTable<T>().DeleteOnSubmit(entity);
+                _dataContext.SubmitChanges();
             }
         }
Index: trunk/Wierszowki/Wierszowki.Model/app.config
===================================================================
--- trunk/Wierszowki/Wierszowki.Model/app.config (revision 752)
+++ trunk/Wierszowki/Wierszowki.Model/app.config (revision 823)
@@ -5,5 +5,5 @@
     <connectionStrings>
         <add name="Wierszowki.Core.Properties.Settings.WierszowkiConnectionString"
-            connectionString="Data Source=sql.ct.com.pl;Initial Catalog=Wierszowki;Persist Security Info=True;User ID=wwwadmin;Password=adm1648;"
+            connectionString="Data Source=10.0.0.30;Initial Catalog=Wierszowki;Persist Security Info=True;User ID=sa;Password=POLzax;"
             providerName="System.Data.SqlClient" />
     </connectionStrings>
Index: trunk/Wierszowki/Wierszowki.Model/Properties/Settings.settings
===================================================================
--- trunk/Wierszowki/Wierszowki.Model/Properties/Settings.settings (revision 752)
+++ trunk/Wierszowki/Wierszowki.Model/Properties/Settings.settings (revision 823)
@@ -6,8 +6,8 @@
       <DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
 &lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
-  &lt;ConnectionString&gt;Data Source=sql.ct.com.pl;Initial Catalog=Wierszowki;Persist Security Info=True;User ID=wwwadmin;Password=adm1648;&lt;/ConnectionString&gt;
+  &lt;ConnectionString&gt;Data Source=10.0.0.30;Initial Catalog=Wierszowki;Persist Security Info=True;User ID=sa;Password=POLzax;&lt;/ConnectionString&gt;
   &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
 &lt;/SerializableConnectionString&gt;</DesignTimeValue>
-      <Value Profile="(Default)">Data Source=sql.ct.com.pl;Initial Catalog=Wierszowki;Persist Security Info=True;User ID=wwwadmin;Password=adm1648;</Value>
+      <Value Profile="(Default)">Data Source=10.0.0.30;Initial Catalog=Wierszowki;Persist Security Info=True;User ID=sa;Password=POLzax;</Value>
     </Setting>
   </Settings>
Index: trunk/Wierszowki/Wierszowki.Model/Properties/Settings.Designer.cs
===================================================================
--- trunk/Wierszowki/Wierszowki.Model/Properties/Settings.Designer.cs (revision 752)
+++ trunk/Wierszowki/Wierszowki.Model/Properties/Settings.Designer.cs (revision 823)
@@ -27,6 +27,6 @@
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
-        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=sql.ct.com.pl;Initial Catalog=Wierszowki;Persist Security Info=True;U" +
-            "ser ID=wwwadmin;Password=adm1648;")]
+        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=10.0.0.30;Initial Catalog=Wierszowki;Persist Security Info=True;User " +
+            "ID=sa;Password=POLzax;")]
         public string WierszowkiConnectionString {
             get {
