private PeriodMonth getPeriodMonth(PeriodDetail evaluatedPeriod, PeriodDetail previousPeriod, PeriodDetail nextPeriod, PeriodDetail lastPeriodOfYear)
        {
            var firstPeriodOfMonth = false;
            var lastPeriodOfMonth  = false;

            if ((evaluatedPeriod.Number == FIRST_NUMBER_PERIOD) || (evaluatedPeriod.Month != previousPeriod.Month))
            {
                firstPeriodOfMonth = true;
            }

            if ((evaluatedPeriod.Number == lastPeriodOfYear.Number) || (evaluatedPeriod.Month != nextPeriod.Month))
            {
                lastPeriodOfMonth = true;
            }

            if (firstPeriodOfMonth && lastPeriodOfMonth)
            {
                return(PeriodMonth.Both);
            }
            else if (firstPeriodOfMonth)
            {
                return(PeriodMonth.Initial);
            }
            else if (lastPeriodOfMonth)
            {
                return(PeriodMonth.Final);
            }
            else
            {
                return(PeriodMonth.None);
            }
        }
        public ResponseMessage UpdatePeriodDetail(PeriodDetailEntity periodUpdateDetail)
        {
            ResponseMessage response = new ResponseMessage();

            using (var trans = db.Database.BeginTransaction())
            {
                try
                {
                    PeriodDetail periodDetail = db.PeriodDetails.Find(periodUpdateDetail.PeriodDetailId);
                    periodDetail.Type          = periodUpdateDetail.Type;
                    periodDetail.Amount        = periodUpdateDetail.Amount;
                    periodDetail.AmountDate    = periodUpdateDetail.AmountDate;
                    periodDetail.Note          = periodUpdateDetail.Note;
                    periodDetail.AdvanceAmount = periodUpdateDetail.AdvanceAmount;
                    periodDetail.AdvanceDate   = periodUpdateDetail.AdvanceDate;
                    periodDetail.Payment       = periodUpdateDetail.Payment;
                    periodDetail.PaymentDate   = periodUpdateDetail.PaymentDate;
                    db.SaveChanges();
                    trans.Commit();
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    Console.Error.WriteLine(ex.Message);
                    response.MessageText = ResponseMessage.MSG_CANNOT_CONNECT_TO_THE_DATABASE;
                    response.Data        = null;
                    return(response);
                }
            }
            return(response);
        }
Beispiel #3
0
        public async Task <Object> Add(PeriodRecored recored)
        {
            if (ModelState.IsValid)
            {
                PeriodDetail model = new PeriodDetail
                {
                    ID      = recored.ID,
                    Course  = authDb.Courses.Where(a => a.ID == recored.Course).FirstOrDefault(),
                    Teacher = authDb.Teachers.Where(a => a.ID == recored.Teacher).FirstOrDefault(),
                    Classes = authDb.Classes.Where(a => a.Name == recored.Classes && a.Section == recored.Section).FirstOrDefault(),
                    Period  = recored.Period,
                };
                if (model.ID != 0)
                {
                    await Task.Run(() => authDb.Entry(model).State = EntityState.Modified);
                }
                else
                {
                    await Task.Run(() => authDb.AddAsync(model));
                }
                await authDb.SaveChangesAsync();

                return(Ok());
            }
            return(BadRequest("data is not valid"));
        }
 private PeriodFiscalYear getPeriodFiscalYear(PeriodDetail evaluatedPeriod, PeriodDetail lastPeriodOfYear)
 {
     if (evaluatedPeriod.Number == FIRST_NUMBER_PERIOD)
     {
         return(PeriodFiscalYear.Initial);
     }
     else if (evaluatedPeriod.Number == lastPeriodOfYear.Number)
     {
         return(PeriodFiscalYear.Final);
     }
     else
     {
         return(PeriodFiscalYear.None);
     }
 }
        private void SetPeriodsFlags(List <PeriodDetail> periods)
        {
            PeriodDetail previousPeriod = null;
            PeriodDetail nextPeriod     = null;
            int          posElement     = 0;

            foreach (var period in periods)
            {
                nextPeriod = (posElement + 1 < periods.Count) ? periods[posElement + 1] : null;
                var periodFiscalYear = getPeriodFiscalYear(period, periods.LastOrDefault());
                var periodMonth      = getPeriodMonth(period, previousPeriod, nextPeriod, periods.LastOrDefault());
                var periodBimonth    = getPeriodBimonthlyIMSS(period.Month, periodMonth);

                period.PeriodFiscalYear    = periodFiscalYear;
                period.PeriodMonth         = periodMonth;
                period.PeriodBimonthlyIMSS = periodBimonth;

                previousPeriod = period;
                posElement++;
            }
        }
        public ResponseMessage DeletePeriodDetail(PeriodDetailEntity periodDetailDelete)
        {
            ResponseMessage response = new ResponseMessage();

            using (var trans = db.Database.BeginTransaction())
            {
                try
                {
                    PeriodDetail periodDetail = db.PeriodDetails.Find(periodDetailDelete.PeriodDetailId);
                    db.PeriodDetails.Remove(periodDetail);
                    db.SaveChanges();
                    trans.Commit();
                }
                catch (Exception ex)
                {
                    Console.Error.WriteLine(ex.Message);
                    response.MessageText = ResponseMessage.MSG_CANNOT_CONNECT_TO_THE_DATABASE;
                    response.Data        = null;
                    return(response);
                }
            }
            return(response);
        }
Beispiel #7
0
 private PeriodMonth getPeriodMonth(PeriodDetail evaluatedPeriod, PeriodDetail previousPeriod, PeriodDetail nextPeriod, PeriodDetail lastPeriodOfYear)
 {
     if (evaluatedPeriod.Number == FIRST_NUMBER_PERIOD)
     {
         return(PeriodMonth.Initial);
     }
     else if (evaluatedPeriod.Number == lastPeriodOfYear.Number)
     {
         return(PeriodMonth.Final);
     }
     else if (evaluatedPeriod.Month < nextPeriod.Month)
     {
         return(PeriodMonth.Final);
     }
     else if (evaluatedPeriod.Month > previousPeriod.Month)
     {
         return(PeriodMonth.Initial);
     }
     else
     {
         return(PeriodMonth.None);
     }
 }
        public ResponseMessage AddPeriodDetail(PeriodDetailEntity periodDetailAdd)
        {
            ResponseMessage response = new ResponseMessage();

            using (var trans = db.Database.BeginTransaction())
            {
                try
                {
                    PeriodDetail p = new PeriodDetail()
                    {
                        PeriodDetailId = Guid.NewGuid().ToString(),
                        Type           = periodDetailAdd.Type,
                        Amount         = periodDetailAdd.Amount,
                        AmountDate     = periodDetailAdd.AmountDate,
                        AdvanceAmount  = periodDetailAdd.AdvanceAmount,
                        AdvanceDate    = periodDetailAdd.AdvanceDate,
                        Payment        = periodDetailAdd.Payment,
                        PaymentDate    = periodDetailAdd.PaymentDate,
                        Note           = periodDetailAdd.Note,
                        ProjectId      = periodDetailAdd.ProjectId
                    };

                    db.PeriodDetails.Add(p);
                    db.SaveChanges();
                    trans.Commit();
                }
                catch (Exception ex)
                {
                    Console.Error.WriteLine(ex.Message);
                    response.MessageText = ResponseMessage.MSG_CANNOT_CONNECT_TO_THE_DATABASE;
                    response.Data        = null;
                    return(response);
                }
                return(response);
            }
        }