public ActionResult Create([Bind(Include = "ID,TITULO,FINICIO,FRECUENCIA,FRECUENCIA_N,DIA_SEMANA,DIA_MES,ORDINAL_MES,ORDINAL_DSEMANA")] NEGOCIACION2 nEGOCIACION, FormCollection col) { int pagina = 903; //ID EN BASE DE DATOS string u = User.Identity.Name; USUARIO user = db.USUARIOs.Where(a => a.ID.Equals(u)).FirstOrDefault(); FnCommon.ObtenerConfPage(db, pagina, u, this.ControllerContext.Controller, 901); ViewBag.mensajes = JsonConvert.SerializeObject(db.MENSAJES.Where(a => (a.PAGINA_ID.Equals(901) || a.PAGINA_ID.Equals(0)) && a.SPRAS.Equals(user.SPRAS_ID)).ToList(), Formatting.Indented); try { string p = Session["pais"].ToString(); ViewBag.pais = p + ".svg"; } catch { } ViewBag.lan = user.SPRAS_ID; if (ModelState.IsValid) { NEGOCIACION2 nego = new NEGOCIACION2(); var proximaFecha = FnCommon.obtenerProximaFecha(nEGOCIACION, col["group1"]); nego.FRECUENCIA_N = nEGOCIACION.FRECUENCIA_N; nego.TITULO = nEGOCIACION.TITULO; nego.FRECUENCIA = nEGOCIACION.FRECUENCIA; nego.FINICIO = nEGOCIACION.FINICIO; if (nego.FRECUENCIA == "S") { nego.DIA_SEMANA = nEGOCIACION.DIA_SEMANA; } else if (nego.FRECUENCIA == "M") { if (col["group1"] == "1") { nego.DIA_MES = nEGOCIACION.DIA_MES; } else { nego.ORDINAL_DSEMANA = nEGOCIACION.ORDINAL_DSEMANA; nego.ORDINAL_MES = nEGOCIACION.ORDINAL_MES; } } db.NEGOCIACION2.Add(nego); db.SaveChanges(); try { return(RedirectToAction("Index")); } catch (Exception e) { return(View("Error")); } } else { ViewBag.FRECUENCIA = new SelectList(FnCommon.ObtenerCmbFrecuencia(user.SPRAS_ID), "Value", "Text"); ViewBag.ORDINAL_DSEMANA = new SelectList(FnCommon.ObtenerCmbDias(user.SPRAS_ID), "Value", "Text"); ViewBag.ORDINAL_MES = new SelectList(FnCommon.ObtenerCmbOrdinales(user.SPRAS_ID), "Value", "Text"); return(View(nEGOCIACION)); } }
// GET: Negs/Edit/5 public ActionResult Edit(int id) { int pagina = 902; //ID EN BASE DE DATOS string u = User.Identity.Name; USUARIO user = db.USUARIOs.Where(a => a.ID.Equals(u)).FirstOrDefault(); FnCommon.ObtenerConfPage(db, pagina, u, this.ControllerContext.Controller, 901); ViewBag.mensajes = JsonConvert.SerializeObject(db.MENSAJES.Where(a => (a.PAGINA_ID.Equals(901) || a.PAGINA_ID.Equals(0)) && a.SPRAS.Equals(user.SPRAS_ID)).ToList(), Formatting.Indented); try { string p = Session["pais"].ToString(); ViewBag.pais = p + ".svg"; } catch { } Session["spras"] = user.SPRAS_ID; ViewBag.lan = user.SPRAS_ID; if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } NEGOCIACION2 nEGOCIACION = db.NEGOCIACION2.Where(x => x.ID == id).FirstOrDefault(); if (nEGOCIACION == null) { return(HttpNotFound()); } ViewBag.FRECUENCIA = new SelectList(FnCommon.ObtenerCmbFrecuencia(user.SPRAS_ID), "Value", "Text", nEGOCIACION.FRECUENCIA); ViewBag.ORDINAL_DSEMANA = new SelectList(FnCommon.ObtenerCmbDias(user.SPRAS_ID), "Value", "Text", nEGOCIACION.ORDINAL_DSEMANA); ViewBag.ORDINAL_MES = new SelectList(FnCommon.ObtenerCmbOrdinales(user.SPRAS_ID), "Value", "Text", nEGOCIACION.ORDINAL_MES); return(View(nEGOCIACION)); }
public static DateTime obtenerProximaFecha(NEGOCIACION2 modelo, string tipomes) { DateTime proximafecha = modelo.FINICIO; if (modelo.FRECUENCIA == "S") { var diasemana = getDiaNombre(modelo.DIA_SEMANA); if (modelo.FINICIO.DayOfWeek.ToString() == diasemana) { return(modelo.FINICIO); } else { var dia_semana = getDiaNum(getDiaNombre(modelo.DIA_SEMANA)); var dia_inicio = getDiaNum(modelo.FINICIO.DayOfWeek.ToString()); if (dia_inicio == 7) { if (dia_semana == 6) { proximafecha = proximafecha.AddDays(6); } else if (dia_semana == 5) { proximafecha = proximafecha.AddDays(5); } else if (dia_semana == 4) { proximafecha = proximafecha.AddDays(4); } else if (dia_semana == 3) { proximafecha = proximafecha.AddDays(3); } else if (dia_semana == 2) { proximafecha = proximafecha.AddDays(2); } else if (dia_semana == 1) { proximafecha = proximafecha.AddDays(1); } } if (dia_inicio == 6) { if (dia_semana > dia_inicio) { proximafecha = proximafecha.AddDays((dia_semana - dia_inicio)); } else if (dia_semana == 5) { proximafecha = proximafecha.AddDays(6); } else if (dia_semana == 4) { proximafecha = proximafecha.AddDays(5); } else if (dia_semana == 3) { proximafecha = proximafecha.AddDays(4); } else if (dia_semana == 2) { proximafecha = proximafecha.AddDays(3); } else if (dia_semana == 1) { proximafecha = proximafecha.AddDays(2); } } if (dia_inicio == 5) { if (dia_semana > dia_inicio) { proximafecha = proximafecha.AddDays((dia_semana - dia_inicio)); } else if (dia_semana == 4) { proximafecha = proximafecha.AddDays(6); } else if (dia_semana == 3) { proximafecha = proximafecha.AddDays(5); } else if (dia_semana == 2) { proximafecha = proximafecha.AddDays(4); } else if (dia_semana == 1) { proximafecha = proximafecha.AddDays(3); } } if (dia_inicio == 4) { if (dia_semana > dia_inicio) { proximafecha = proximafecha.AddDays((dia_semana - dia_inicio)); } else if (dia_semana == 3) { proximafecha = proximafecha.AddDays(6); } else if (dia_semana == 2) { proximafecha = proximafecha.AddDays(5); } else if (dia_semana == 1) { proximafecha = proximafecha.AddDays(dia_inicio); } } if (dia_inicio == 3) { if (dia_semana > dia_inicio) { proximafecha = proximafecha.AddDays((dia_semana - dia_inicio)); } else if (dia_semana == 2) { proximafecha = proximafecha.AddDays(6); } else if (dia_semana == 1) { proximafecha = proximafecha.AddDays(5); } } if (dia_inicio == 2) { if (dia_semana > dia_inicio) { proximafecha = proximafecha.AddDays((dia_semana - dia_inicio)); } else if (dia_semana == 1) { proximafecha = proximafecha.AddDays(6); } } if (dia_inicio == 1) { proximafecha = proximafecha.AddDays((dia_semana - dia_inicio)); } } } else { if (tipomes == "1") { if ((int)modelo.FINICIO.Day <= modelo.DIA_MES) { proximafecha = new DateTime(modelo.FINICIO.Year, modelo.FINICIO.Month, (int)modelo.DIA_MES); } else { proximafecha = new DateTime(modelo.FINICIO.Year, modelo.FINICIO.Month, (int)modelo.DIA_MES).AddMonths(modelo.FRECUENCIA_N); } } else { var dia = getDiaNombre(modelo.ORDINAL_DSEMANA); var ordinal = modelo.ORDINAL_MES; var diasmes = DateTime.DaysInMonth(modelo.FINICIO.Year, modelo.FINICIO.Month); for (int i = 1; i <= diasmes; i++) { var fecha = new DateTime(modelo.FINICIO.Year, modelo.FINICIO.Month, i); if (fecha.DayOfWeek.ToString() == dia) { var mes = fecha.Month; fecha = fecha.AddDays((7 * (int)(modelo.ORDINAL_MES - 1))); var mes2 = fecha.Month; if (mes != mes2) { fecha = fecha.AddDays(-7); } if (modelo.FINICIO < fecha) { return(fecha); } var fecha2 = new DateTime(modelo.FINICIO.Year, modelo.FINICIO.Month, 1).AddMonths(1); var diasmes2 = DateTime.DaysInMonth(fecha2.Year, fecha2.Month); for (int j = 1; j <= diasmes2; j++) { var fechatemp = new DateTime(fecha2.Year, fecha2.Month, j); if (fechatemp.DayOfWeek.ToString() == dia) { fechatemp = fechatemp.AddDays((7 * (int)(modelo.ORDINAL_MES - 1))); return(fechatemp); } } } } } } return(proximafecha); }