public DbEntityEntry <PagePrint> Entry(PagePrint pagePrint)
 {
     return(Context.Entry(pagePrint));
 }
 public void Attach(PagePrint pagePrint)
 {
     context.PagePrint.Attach(pagePrint);
 }
        public App()
        {
            InitializeComponent();

            MainPage = new PagePrint();
        }
 public void Add(PagePrint pagePrint)
 {
     context.PagePrint.Add(pagePrint);
 }
Ejemplo n.º 5
0
        public ActionResult UpdateEmpLetter(IEnumerable <HrlettersViewModel> models, IEnumerable <OptionsViewModel> options)
        {
            var datasource = new DataSource <HrlettersViewModel>();

            datasource.Data  = models;
            datasource.Total = models.Count();
            var result = new List <PagePrint>();

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    var errors = _hrUnitOfWork.CompanyRepository.Check(new CheckParm
                    {
                        CompanyId  = CompanyId,
                        ObjectName = "EmpHrLetters",
                        TableName  = "PagePrints",
                        Columns    = Models.Utils.GetModifiedRows(ModelState.Where(a => a.Key.Contains("models"))),
                        Culture    = Language
                    });

                    if (errors.Count() > 0)
                    {
                        datasource.Errors = errors;
                        return(Json(datasource));
                    }
                }
                var ids         = models.Select(a => a.Id);
                var db_HrLetter = _hrUnitOfWork.Repository <PagePrint>().Where(a => ids.Contains(a.Id)).ToList();

                for (var i = 0; i < models.Count(); i++)
                {
                    var item = models.ElementAtOrDefault(i);

                    PagePrint Letter = db_HrLetter.FirstOrDefault(a => a.Id == models.ElementAtOrDefault(i).Id);
                    if (Letter == null)
                    {
                        Letter  = new PagePrint();
                        item.Id = Letter.Id;
                    }
                    string OldFile = Letter.LetterTempl;
                    AutoMapper(new AutoMapperParm()
                    {
                        ObjectName = "EmpHrLetters", Destination = Letter, Source = item, Version = 0, Options = options.ElementAtOrDefault(i), Transtype = item.Id > 0 ? TransType.Update : TransType.Insert
                    });
                    if (item.LetterTempl != null)
                    {
                        SaveEmpFile(OldFile, Letter.Culture, item.LetterTempl);
                        DownloadLetter(Letter.ObjectName, Letter.Culture, Letter.LetterTempl);
                    }
                    if (item.Id > 0)
                    {
                        Letter.ModifiedTime = DateTime.Now;
                        Letter.ModifiedUser = UserName;

                        _hrUnitOfWork.HrLettersRepository.Attach(Letter);
                        _hrUnitOfWork.HrLettersRepository.Entry(Letter).State = EntityState.Modified;
                    }
                    else
                    {
                        _hrUnitOfWork.HrLettersRepository.Add(Letter);
                    }

                    result.Add(Letter);
                }

                datasource.Errors = SaveChanges(Language);
            }
            else
            {
                datasource.Errors = Models.Utils.ParseErrors(ModelState.Values);
            }

            if (datasource.Errors.Count() > 0)
            {
                return(Json(datasource));
            }
            else
            {
                datasource.Data = (from m in models
                                   join r in result on m.LetterTempl equals r.LetterTempl
                                   select new HrlettersViewModel
                {
                    Id = r.Id,
                    Name = m.Name,
                    LetterTempl = m.LetterTempl,
                    Culture = m.Culture,
                    Language = m.Language,
                    ObjectName = m.ObjectName,
                    Version = m.Version
                }).ToList();
                return(Json(datasource.Data));
            }
        }