Pokaż
Ignoruj:
Data:
2009-10-15 15:45:07 (17 years ago)
Autor:
marek
Opis:

re #184 - merged with latest trunk

Lokalizacja:
branches/Abonament
Pliki:
2 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • branches/Abonament

    • Property svn:mergeinfo
      •  

        old new  
        22/branches/ReklamaReorganizacja:568-731 
        33/tags/BazaReklam_1.1.28:831 
        4 /trunk:708-758,760-838 
         4/trunk:708-758,760-853 
  • branches/Abonament/Wierszowki/Wierszowki.Web/Controllers/MagazineItemController.cs

    r839 r854  
    66using Wierszowki.Services; 
    77using xVal.ServerSide; 
     8using System.Collections.Generic; 
     9using Wierszowki.Core.Interfaces; 
    810 
    911namespace Wierszowki.Controllers 
     
    4042            try 
    4143            { 
    42                 _service.Create(magazineItem, ControllerContext.HttpContext.User.Identity.Name);                             
     44                _service.Create(magazineItem, ControllerContext.HttpContext.User.Identity.Name); 
    4345                ModelState.Clear(); 
    4446            } 
     
    4749                ex.AddModelStateErrors(ModelState, "magazineItem"); 
    4850            } 
    49             
     51 
    5052            if (ModelState.IsValid) 
    5153            { 
    52                 return RedirectToAction("Confirm", _context.Authors.Single(a => a.Id == magazineItem.AuthorId)); 
    53             } 
     54                Info inf = InitInfo("1", 0, 0, 0); 
     55                var confirmViewData = new ConfirmViewData(); 
     56                confirmViewData = InitConfirmViewData(_context.Authors.Single(a => a.Id == magazineItem.AuthorId), OperationType.Create, inf); 
     57                return View("Confirm", confirmViewData); 
     58            } 
     59            var magazine = _service.Find(magazineItem.Id); 
    5460            var viewData = InitMagazineItemViewData(); 
    5561            viewData.MagazineItem = magazineItem; 
    56              
    57             return View(viewData);  
     62            if (magazineItem.IssueId != 0) 
     63            { 
     64                viewData.Issue = _context.Issues.Single(i => i.Id == magazineItem.IssueId); 
     65                viewData.Magazine = viewData.Issue.Magazine; 
     66                viewData.IssueList = new SelectList(_context.FindIssuesByMagazineItemId(magazineItem.IssueId, 0), "Id", "Number"); 
     67            } 
     68            return View(viewData); 
    5869        } 
    5970 
     
    6576 
    6677        [Authorize] 
    67         public ActionResult Edit(int id) 
    68         { 
    69             var viewData = InitMagazineItemViewData(); 
    70             var magazineItem = _service.Find(id); 
     78        public ActionResult Edit(string id, string powrot, string month, string year, string user_id) 
     79        { 
     80            int id1 = 0; 
     81            int month1 = (month != null) ? Convert.ToInt32(month) : 0; 
     82            int year1 = (year != null) ? Convert.ToInt32(year) : 0; 
     83            int user1 = (user_id != null) ? Convert.ToInt32(user_id) : 0; 
     84            try 
     85            { 
     86                id1 = (id != null) ? Convert.ToInt32(id) : 0; 
     87            } 
     88            catch 
     89            { 
     90            } 
     91            var viewData = InitMagazineItemViewData(); 
     92            var magazineItem = _service.Find(id1); 
    7193 
    7294            if (magazineItem == null) 
    7395            { 
    74                 ViewData["message"] = "null"; 
    75                 return View("Confirm"); 
    76             } 
    77  
     96                Info inf = InitInfo(powrot, month1, year1, user1); 
     97                var confirmViewData = new ConfirmViewData(); 
     98 
     99                if (id != "")     //nie znaleziono w bazie wierszowki o zadanym id 
     100                { 
     101                    confirmViewData = InitConfirmViewData(null, OperationType.WrongId, inf); 
     102                } 
     103                else              //nie podano numeru id 
     104                { 
     105                    confirmViewData = InitConfirmViewData(null, OperationType.NullId, null); 
     106                } 
     107                return View("Confirm", confirmViewData); 
     108            } 
    78109            viewData.MagazineItem = magazineItem; 
    79110            viewData.Magazine = magazineItem.Issue.Magazine; 
    80111            viewData.Issue = magazineItem.Issue; 
    81             viewData.IssueList = new SelectList(_context.FindIssuesByMagazineItemId(magazineItem.Issue.Id), "Id", "Number"); 
     112            viewData.Info = InitInfo(powrot, month1, year1, user1); 
     113 
     114            var startDate = DateTime.Now.AddMonths(-3); 
     115            var endDate = DateTime.Now.AddMonths(1); 
     116            var issueList = _context.GetIssue().Where(i => i.Date >= startDate && i.Date <= endDate && i.MagazineId == magazineItem.Issue.MagazineId).OrderBy(i => i.Date).ToList(); 
     117 
     118            int start_number = issueList[0].Number; 
     119            int AddId = 0; 
     120            if (magazineItem.Issue.Number < start_number) 
     121            { 
     122                viewData.SmallerMagazineNumber = 1; 
     123                AddId = magazineItem.Issue.Id; 
     124            } 
     125            viewData.IssueList = new SelectList(_context.FindIssuesByMagazineItemId(magazineItem.Issue.Id, AddId), "Id", "Number"); 
    82126            return View(viewData); 
    83127        } 
    84128        [Authorize] 
    85129        [AcceptVerbs(HttpVerbs.Post)] 
    86         public ActionResult Update(MagazineItem magazineItem) 
    87         { 
    88             try 
    89             { 
    90                 //var service = new MagazineItemService(); 
     130        public ActionResult Update(MagazineItem magazineItem, Info info) 
     131        { 
     132            try 
     133            { 
    91134                _service.Update(magazineItem, ControllerContext.HttpContext.User.Identity.Name); 
    92135                ModelState.Clear(); 
     
    99142            if (ModelState.IsValid) 
    100143            { 
    101                 var author = _context.Authors.Single(a => a.Id == magazineItem.AuthorId); 
    102                 return RedirectToAction("Confirm", author);                
    103             } 
    104             var viewData = InitMagazineItemViewData(); 
    105             viewData.MagazineItem = magazineItem; 
    106             return View(viewData);             
    107         } 
    108  
     144                var confirmViewData = new ConfirmViewData(); 
     145                confirmViewData = InitConfirmViewData(_context.Authors.Single(a => a.Id == magazineItem.AuthorId), OperationType.Update, info); 
     146                return View("Confirm", confirmViewData); 
     147            } 
     148            var magazine = _service.Find(magazineItem.Id); 
     149            var viewData = InitMagazineItemViewData(); 
     150            viewData.Info = info; 
     151            viewData.MagazineItem = magazine; 
     152            if (magazineItem.IssueId != 0) 
     153            { 
     154                viewData.Issue = _context.Issues.Single(i => i.Id == magazine.IssueId); 
     155                viewData.Magazine = magazine.Issue.Magazine; 
     156                viewData.IssueList = new SelectList(_context.FindIssuesByMagazineItemId(magazine.Issue.Id, 0), "Id", "Number"); 
     157            } 
     158            return View("Edit", viewData); 
     159        } 
     160        private Info InitInfo(string p, int m, int y, int u) 
     161        { 
     162            Info inf = new Info(); 
     163            inf.powrot = p; 
     164            inf.month = m; 
     165            inf.year = y; 
     166            inf.user_id = u; 
     167            return inf; 
     168        } 
    109169        private MagazineItemViewData InitMagazineItemViewData() 
    110170        { 
    111171            var viewData = new MagazineItemViewData 
    112                                { 
    113                                    MagazineItem = new MagazineItem(), 
    114                                    AuthorList = new SelectList(_context.Authors.ToList(), "Id", "FullName"), 
    115                                    MagazineList = new SelectList(_context.Magazines.ToList(), "Id", "NickName"), 
    116                                    IssueList = new SelectList(_context.FindIssuesByMagazineId(0), "Id", "Name"), 
    117                                    ItemTypeList = new SelectList(_context.ItemTypes.ToList(), "Id", "Name") 
    118                                }; 
     172            { 
     173                MagazineItem = new MagazineItem(), 
     174                AuthorList = new SelectList(_context.Authors.OrderBy(a => a.LastName).ToList(), "Id", "FullName"), 
     175                MagazineList = new SelectList(_context.Magazines.ToList(), "Id", "NickName"), 
     176                IssueList = new SelectList(_context.FindIssuesByMagazineId(0, 0), "Id", "Name"), 
     177                ItemTypeList = new SelectList(_context.ItemTypes.ToList(), "Id", "Name"), 
     178                SmallerMagazineNumber = 0, 
     179                Info = new Info() 
     180            }; 
    119181            return viewData; 
    120182        } 
    121183        [Authorize] 
    122         public ActionResult Delete(int id) 
    123         { 
    124             return View("Delete"); 
     184        public ActionResult Delete(string id, string powrot, string month, string year, string user_id) 
     185        { 
     186            int id1 = 0; 
     187            try 
     188            { 
     189                id1 = (id != null) ? Convert.ToInt32(id) : 0; 
     190            } 
     191            catch 
     192            { 
     193            } 
     194            var deleteViewData = new DeleteViewData();             
     195            int month1 = (month != null) ? Convert.ToInt32(month) : 0; 
     196            int year1 = (year != null) ? Convert.ToInt32(year) : 0; 
     197            int user1 = (user_id != null) ? Convert.ToInt32(user_id) : 0; 
     198            deleteViewData.Info = InitInfo(powrot, month1, year1, user1); 
     199            return View("Delete", deleteViewData); 
    125200    } 
    126201        [Authorize] 
    127202        [AcceptVerbs(HttpVerbs.Post)] 
    128         public ActionResult Delete(MagazineItem magazineItem) 
    129         { 
    130             _service.Delete(magazineItem);    
    131             if (magazineItem.AuthorId == 0){ 
    132                 ViewData["message"] = "null"; 
    133                 return View("Confirm"); 
    134             }                                         
    135             ViewData["message"] = "delete"; 
    136             return View("Confirm"); 
    137             
     203        public ActionResult Delete(MagazineItem magazineItem, Info info) 
     204        { 
     205            var magazineItemToDelete = _service.Delete(magazineItem); 
     206            var confirmViewData = new ConfirmViewData(); 
     207            if (magazineItemToDelete == null) 
     208            { 
     209                confirmViewData = InitConfirmViewData(null, OperationType.WrongId, info); 
     210            } 
     211            else 
     212            { 
     213                confirmViewData = InitConfirmViewData(magazineItemToDelete.Author, OperationType.Delete, info); 
     214            } 
     215            return View("Confirm", confirmViewData); 
     216        } 
     217        private ConfirmViewData InitConfirmViewData(Author author, OperationType c_type, Info inf) 
     218        { 
     219            var viewData = new ConfirmViewData 
     220            { 
     221                Author = author, 
     222                akcja = c_type, 
     223                info = inf 
     224            }; 
     225            return viewData; 
    138226        } 
    139227    }