Exemplo n.º 1
0
        public int userType_Save(BLL.UserType ut)
        {
            try
            {
                DAL.UserType d = DB.UserTypes.Where(x => x.Id == ut.Id).FirstOrDefault();

                if (d == null)
                {
                    var c = DB.CompanyDetails.Where(x => x.Id == ut.CompanyId).FirstOrDefault();

                    d = new DAL.UserType();
                    c.UserTypes.Add(d);
                    ut.toCopy <DAL.UserType>(d);

                    foreach (var utd in ut.UserTypeDetails)
                    {
                        d.UserTypeDetails.Add(utd.toCopy <DAL.UserTypeDetail>(new DAL.UserTypeDetail()));
                    }
                    DB.SaveChanges();
                    ut.Id      = d.Id;
                    ut.Company = c.toCopy <BLL.CompanyDetail>(new BLL.CompanyDetail());
                    LogDetailStore(ut, LogDetailType.INSERT);
                }
                else
                {
                    ut.toCopy <DAL.UserType>(d);

                    foreach (var utd in ut.UserTypeDetails)
                    {
                        DAL.UserTypeDetail dd = d.UserTypeDetails.Where(x => x.Id == utd.Id).FirstOrDefault();
                        if (dd == null)
                        {
                            dd = new DAL.UserTypeDetail();
                            d.UserTypeDetails.Add(dd);
                        }
                        utd.toCopy <DAL.UserTypeDetail>(dd);
                    }

                    DB.SaveChanges();
                    LogDetailStore(ut, LogDetailType.UPDATE);
                }

                Clients.Clients(OtherLoginClientsOnGroup).userType_Save(ut);

                return(ut.Id);
            }
            catch (Exception ex) { }
            return(0);
        }