Exemple #1
0
        /// <summary>
        /// Guarda|Actualiza un registro en el catalogo
        /// </summary>
        /// <param name="salesRoom">Objeto a guardar</param>
        /// <param name="blnUpdate">True. Actualiza | False. Inserta</param>
        /// <returns>-1 Existe un registro con el mismo ID | 0. No se guardó | 1. Se guardó</returns>
        /// <history>
        /// [emoguel] created 22/04/2016
        /// </history>
        public static int SaveSalesRoom(SalesRoom salesRoom, bool blnUpdate)
        {
            using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
            {
                int nRes = 0;
                #region Update
                if (blnUpdate)
                {
                    dbContext.Entry(salesRoom).State = System.Data.Entity.EntityState.Modified;
                    return(dbContext.SaveChanges());
                }
                #endregion
                #region Add
                else
                {
                    using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            SalesRoom salesRoomVal = dbContext.SalesRooms.Where(sr => sr.srID == salesRoom.srID).FirstOrDefault();
                            if (salesRoomVal != null)
                            {
                                return(-1);
                            }
                            else
                            {
                                var GetDate = BRHelpers.GetServerDate();
                                salesRoom.srGiftsRcptCloseD   = GetDate;
                                salesRoom.srCxCCloseD         = GetDate;
                                salesRoom.srShowsCloseD       = GetDate;
                                salesRoom.srMealTicketsCloseD = GetDate;
                                salesRoom.srSalesCloseD       = GetDate;

                                dbContext.SalesRooms.Add(salesRoom);
                                if (dbContext.SaveChanges() > 0)
                                {
                                    dbContext.USP_OR_AddAccessAdministrator("SR");
                                    dbContext.SaveChanges();
                                    nRes = 1;
                                    transaction.Commit();
                                }
                                else
                                {
                                    transaction.Rollback();
                                    return(0);
                                }
                            }
                        }
                        catch
                        {
                            transaction.Rollback();
                            nRes = 0;
                        }
                    }
                }
                #endregion
                return(nRes);
            }
        }
Exemple #2
0
 /// <summary>
 /// Guarda|Actualiza un registro en el catalogo
 /// </summary>
 /// <param name="warehouse">Objeto a guardar</param>
 /// <param name="blnUpdate">True. Actualiza | False. Inserta</param>
 /// <returns>-1 Existe un registro con el mismo ID | 0. No se guardó | 1. Se guardó</returns>
 /// <history>
 /// [emoguel] created 22/04/2016
 /// </history>
 public static int SaveWarehouse(Warehouse warehouse, bool blnUpdate)
 {
     using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
     {
         int nRes = 0;
         #region Update
         if (blnUpdate)
         {
             dbContext.Entry(warehouse).State = System.Data.Entity.EntityState.Modified;
             return(dbContext.SaveChanges());
         }
         #endregion
         #region Add
         else
         {
             using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
             {
                 try
                 {
                     Warehouse warehouseVal = dbContext.Warehouses.Where(wh => wh.whID == warehouse.whID).FirstOrDefault();
                     if (warehouseVal != null)
                     {
                         return(-1);
                     }
                     else
                     {
                         dbContext.Warehouses.Add(warehouse);
                         if (dbContext.SaveChanges() > 0)
                         {
                             dbContext.USP_OR_AddAccessAdministrator("WH");
                             dbContext.SaveChanges();
                             nRes = 1;
                             transaction.Commit();
                         }
                         else
                         {
                             transaction.Rollback();
                             return(0);
                         }
                     }
                 }
                 catch
                 {
                     transaction.Rollback();
                     nRes = 0;
                 }
             }
         }
         #endregion
         return(nRes);
     }
 }
Exemple #3
0
        /// <summary>
        /// Agrega|Actualiza los datos de un LeadSource
        /// </summary>
        /// <param name="leadSource">Objeto a guardar</param>
        /// <param name="lstLocAdd">Locaciones a relacionar</param>
        /// <param name="lstLocDel">Locaciones a des-relacionar</param>
        /// <param name="lstAgeAdd">Agencias a relacionar</param>
        /// <param name="lstAgeDel">Agencias a desrelacionar</param>
        /// <param name="blnUpdate">True. Actualiza | False. Elimina</param>
        /// <returns>-1. Existe un registro con el mismo ID | 0. No se guardó | >1. Se guardó correctamente</returns>
        /// <history>
        /// [emoguel] created 17/05/2016
        /// [emoguel] modified 27/06/2016 --> se volvió async
        /// </history>
        public async static Task <int> SaveLeadSource(LeadSource leadSource, List <Location> lstLocAdd, List <Location> lstLocDel, List <Agency> lstAgeAdd, List <Agency> lstAgeDel, bool blnUpdate)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            #region LeadSources
                            LeadSource leadSourceSave = null;
                            #region Update
                            if (blnUpdate)
                            {
                                leadSourceSave = dbContext.LeadSources.Where(ls => ls.lsID == leadSource.lsID).Include("Agencies").FirstOrDefault();
                                ObjectHelper.CopyProperties(leadSourceSave, leadSource);
                            }
                            #endregion
                            #region Insert
                            else
                            {
                                leadSourceSave = dbContext.LeadSources.Where(ls => ls.lsID == leadSource.lsID).FirstOrDefault();
                                if (leadSourceSave != null)
                                {
                                    return -1;
                                }
                                else
                                {
                                    DateTime dtServer = BRHelpers.GetServerDateTime();
                                    leadSource.lsTransBridgeDT = dtServer;
                                    leadSource.lsTransDT = dtServer;
                                    dbContext.LeadSources.Add(leadSource);
                                    leadSourceSave = leadSource;
                                }

                                List <Language> lstLanguages = dbContext.Languages.ToList();

                                #region MailOuts
                                MailOut mailOut = new MailOut {
                                    mols = leadSourceSave.lsID, moCode = "WELCOME"
                                };
                                #endregion

                                #region Mail Outs Text y Invits Text
                                lstLanguages.ForEach(la =>
                                {
                                    MailOutText mailOutText = new MailOutText
                                    {
                                        mtls = leadSourceSave.lsID,
                                        mtmoCode = "WLECOME",
                                        mtla = la.laID
                                    };

                                    InvitationText invitationText = new InvitationText
                                    {
                                        itls = leadSourceSave.lsID,
                                        itla = la.laID,
                                        itRTF = "<No text Saved>"
                                    };
                                });
                                #endregion
                            }
                            #endregion
                            #endregion

                            #region Agencies
                            lstAgeDel.ForEach(ag =>
                            {
                                leadSourceSave.Agencies.Remove(leadSourceSave.Agencies.Where(agg => agg.agID == ag.agID).FirstOrDefault());
                            });

                            lstAgeAdd.ForEach(ag =>
                            {
                                leadSourceSave.Agencies.Add(dbContext.Agencies.Where(agg => agg.agID == ag.agID).FirstOrDefault());
                            });
                            #endregion

                            #region Locations
                            dbContext.Locations.AsEnumerable().Where(lo => lstLocAdd.Any(loc => loc.loID == lo.loID)).ToList().ForEach(lo =>
                            {
                                lo.lols = leadSourceSave.lsID;
                                dbContext.Entry(lo).State = EntityState.Modified;
                            });

                            dbContext.Locations.AsEnumerable().Where(lo => lstLocDel.Any(loc => loc.loID == lo.loID)).ToList().ForEach(lo =>
                            {
                                lo.lols = null;
                                dbContext.Entry(lo).State = EntityState.Modified;
                            });
                            #endregion

                            int nRes = dbContext.SaveChanges();
                            if (!blnUpdate)
                            {
                                dbContext.USP_OR_AddAccessAdministrator("LS");
                                dbContext.SaveChanges();
                            }
                            transaction.Commit();
                            ObjectHelper.CopyProperties(leadSource, leadSourceSave, true);
                            return nRes;
                        }
                        catch
                        {
                            transaction.Rollback();
                            return 0;
                        }
                    }
                }
            }));
        }